package hao.itheima.mapper;

import hao.itheima.entity.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper // 程序启动时候, 自动生成该接口的代理对象, 交给IOC容器管理
public interface DeptMapper {

    /*//数据封装方式一: 手动结果映射
    @Results({
            @Result(column = "create_time", property = "createTime"),
            @Result(column = "update_time", property = "updateTime")
    })
    */
    //数据封装方式二: 起别名  注意: 别名要跟实体类的属性名称一致
    //@Select("select id, name, create_time createTime, update_time updateTime from dept")
    //错误: 字段名称要写对

    //数据封装方式三: 全局配置, 开启驼峰命名规则映射(前提: 是编写实体类的时候, 属性名要驼峰命名)

    @Select("select id, name, create_time, update_time from dept")
    public List<Dept> list();
}
